package com.op.response;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 状态码
 *
 * @author 孤焰
 * @since 2021-09-24 16:39:33
 */

@AllArgsConstructor
@Getter
@ApiModel("状态码实体类")
public enum StateCode {
    /**
     * 处理成功
     */
    SUCCESS(200, "成功"),
    /**
     * 处理失败
     */
    FAIL(5000, "处理失败"),
    /**
     * 发生异常
     */
    UN_KNOW_ERROR(5001, "未知异常"),
    /**
     * 权限异常
     */
    UN_AUTHORIZATION(5002, "权限异常"),
    /**
     * 菜单名称已存在
     */
    NO_UNIQUE_MENU_NAME(6001, "操作失败，菜单名称已存在"),
    /**
     * 父菜单不能选择自己
     */
    PARENT_MENU_EQUALS_ID(6002, "操作失败，父菜单不能选择自己"),
    /**
     * 存在子菜单
     */
    HAS_CHILD_MENU(6003, "操作失败，存在子菜单，不允许进行此操作"),
    /**
     * 菜单存在绑定角色
     */
    HAS_BINDING_WITH_ROLE(6004, "操作失败，该菜单存在绑定角色"),
    /**
     * 自定义异常
     */
    CUSTOMIZE_ERROR(10000, "自定义异常");

    @ApiModelProperty("状态码")
    private final Integer code;
    @ApiModelProperty("状态信息")
    private final String message;
}

